草庐IT

Swift Struct 的引用计数

全部标签

c# - 需要对象引用才能访问非静态成员

我有一个计时器,我想放置计时器回调进入单独的功能,但是,我得到这个错误。Anobjectreferenceisrequiredtoaccessnon-staticfield,method,orproperty''...如果我将这些回调声明为委托(delegate)事件并且成员变量为静态,它工作正常。我应该这样吗?classMainClass{privateTimer_timer=null;privateTimeSpan_millisecs;publicstaticvoidMain(string[]args){Application.Init();MainWindowwin=newMai

c# - 值对象是否应该持有对实体的引用?

在DDD方法中,值对象是否应该持有对实体的引用?编辑@德米特里:这可能是我的情况。在这里,我附上了类图,其中Account包含对IInvoiceable项目集合的引用。我将Tenant视为实体,但它只拥有1个帐户,我认为Account不需要身份。它是Tenant的一部分。还是我应该将其视为实体?对我来说这没有意义。 最佳答案 是的,可以。这将是一个相对模糊的案例,但DDD允许它并且它可能很有用。来自DDDbookbyEricEvans:VALUEOBJECTScanevenreferenceENTITIES.Forexample,i

c# - 算法:最大计数器

我有以下问题:你有N个计数器,初始设置为0,你可以对它们进行两种可能的操作:increase(X)-计数器X增加1,max_counter-所有计数器都设置为任何计数器的最大值。给出了一个由M个整数组成的非空零索引数组A。这个数组代表连续的操作:如果A[K]=X,使得1≤X≤N,则操作K为increase(X),如果A[K]=N+1则操作K是max_counter。例如,给定整数N=5和数组A使得:A[0]=3A[1]=4A[2]=4A[3]=6A[4]=1A[5]=4A[6]=4每次连续操作后计数器的值将是:(0,0,1,0,0)(0,0,1,1,0)(0,0,1,2,0)(2,2,

c# - 引用类型存在于堆中,值类型存在于栈中

在阅读“深入了解C#”时,我浏览了标题为“引用类型存在于堆中,值类型存在于堆栈中”的部分。现在我能理解的是(主要针对ref类型):classProgram{inta=5;//storedinheappublicvoidAdd(intx,inty)//x,ystoredinstack{intc=x+y;//cstoredinstack}}只是想澄清一下我的假设是否正确。谢谢。编辑:我应该使用diff变量,因为我认为我最初造成的困惑。所以我修改了代码。编辑:是的,正如乔恩提到的那样-这是一个神话。我应该提到这一点。抱歉。 最佳答案 ht

C# == 值类型和引用类型的区别?

在Java中,引用类型有“==”和“等于”运算符,值类型有“==”运算符。对于引用类型,“==”表示两个对象指向相同的位置,“equals”表示它们的值相同。C#对值类型和引用类型有类似的运算符吗? 最佳答案 好吧,==可以为引用类型重载。例如:stringa=newstring('x',10);stringb=newstring('x',10);Console.WriteLine(a==b);//TrueConsole.WriteLine(Object.ReferenceEquals(a,b));//False除非重载,否则==表

c# - 将授权 header 添加到 Web 引用

我正在尝试向客户端的网络服务发出请求(我不知道客户端的底层平台)。我使用“添加Web引用”在VisualStudio2010中使用了客户端的WSDL并生成了我的代理类(称为“ContactService”)。我现在需要向我的服务请求添加如下所示的授权header。Header=Authorization&Value=Basic12345678901234567890(上面的“123456...”值只是占位符)ContactServiceservice=newContactService();//notsureifthisistherightway-it'snotworkingWebCl

c# - 等待/异步引用错误

我正在尝试在某些返回字符串的函数中执行一些异步操作。asyncprivatevoidbutton1_Click(objectsender,EventArgse){stringoutput=awaitthr_calc(this,null);}asyncprivateTaskthr_calc(objectsender,EventArgse){returnawaitzzztest();}stringzzztest(){stringasd;//somestuffherereturnasd;}但它在每个包含单词async/await的字符串上给我错误!我在Windows桌面上使用俄语版的msvs

c# - 为什么可以比较不相关的c#接口(interface)引用而不会出现编译错误?

最近我很惊讶地发现编译器在比较接口(interface)引用方面显然并不严格,我想知道为什么它会这样工作。考虑这段代码:classProgram{interfaceI1{}interfaceI2{}classC1:I1{}classC2:I2{}staticvoidMain(string[]args){C1c1=newC1();C2c2=newC2();I1i1=c1;I2i2=c2;boolx=c1==c2;booly=i1==i2;}}编译器说我无法比较c1==c2,如下所示。类型完全不相关。然而,它确实允许我比较i1==i2。我预计它会因编译时失败而出错,但我惊讶地发现您可以将任

c# - 在 C# 中,事件参数是按引用还是按值传递的?

一个相当简单的问题(我认为),但我似乎还没有看到答案。我知道有些值是通过值传递的(如int和long),而其他值在将它们传递给函数时通过引用传递(如字符串)。在我的程序中,我使用了后台工作程序,这样当我们在后台进行长时间处理时,GUI就不会锁定。我需要将数据从另一个文件传递回UI线程,因此我一直在为此使用事件。现在我需要将字符串数组列表发送回GUI线程以在那里进行处理,我担心它将如何处理。基本上,在工作线程中,我有一个循环来填充列表,通过事件处理程序将其发送回GUI,然后清除它,以便它可以在下一次通过循环时填充它并重新开始。我担心当我这样做时,如果列表是通过引用传递的,那么在UI线程上

c# - 无法加载文件或程序集 XXX 或其依赖项之一。找到的程序集的 list 定义与程序集引用不匹配

在本地运行Asp.NetMVC应用程序时,一切正常,但在服务器上部署应用程序时,出现此错误。Couldnotloadfileorassembly'WebGrease,Version=1.5.1.25624,Culture=neutral,PublicKeyToken=31bf3856ad364e35'oroneofitsdependencies.Thelocatedassembly'smanifestdefinitiondoesnotmatchtheassemblyreference.(ExceptionfromHRESULT:0x80131040)我最近刚刚通过使用WebGrease